【报错篇】训练中出现的问题
当出现问题的查询问题的方法
- 落日志要清晰:
- 对较为密集的日志,选择合适的截断点
- 先分析容易导致问题的关键指标,以及容易定位问题的指标做日志输出
权重出现nan值
参考:http://51blog.net/cms/?p=1261
实质:nan的出现,是迭代的参数无穷大
首先,这种情况主要出现在网络学习中,在迭代网络的输入一定是要稠密的,当输入网络为稀疏的值时,会导致部分参数无法迭代(在梯度下降时,无法计算梯度),从而出现nan值,进而像病毒性扩展导致最终模型失效。
而当学习率设置过高时,导致导数过高,从而参数无法收敛,反而会迅速扩大,导致出现nan。
采取的措施:
- 输入DNN前首先将数据进行BN
- 添加正则限制nan的出现
- 减少embedding的factor_size,使出现的数据更稠密
- 激活函数使用sigmoid(tanh?未尝试)